昨天跟各位一起探索了如何儲存對話中的資料,但是大家有沒有好奇究竟那些資料是儲存在哪裡,我可以改變儲存地點嗎?
那就讓我們繼續看下去吧!!
這是官方範例 python 程式碼45.state-management
中的 app.py,我們可以看到 UserState() 以及 ConversationState() 括號內都填上 Memory
,這就是整個 bot 對話儲存對話資料以及 log 的地方。
如果是用 Bot Emulator 測試 chatbot,則 Memory = 電腦的 Memory
,若是部署到 App Service 的話,則是 App Service 自己的 Memory。
官方目前支援的有三種
1.1 在 Azure Portal 上建立一個 Storage Account
1.2 建立好之後,再到 Storage Account
建立一個 Container
1.3 記下你的 Storage Account
的名稱以及 Container 的名稱
1.4 再去複製 Access key
1.5 安裝以下 python 套件
pip install botbuilder-azure
1.6 在 app.py 新增以下程式碼
from botbuilder.azure import BlobStorage, BlobStorageSettings
BLOB_SETTINGS = BlobStorageSettings(
container_name="<CONTAINER 的名稱>",
account_name= "<STORAGE ACCOUNT 的名稱>",
connection_string="<剛剛複製的 KEY>"
)
MEMORY = BlobStorage(BLOB_SETTINGS)
1.7 再次使用 chatbot,則會在 Container 多看到一個資料夾,代表就是成功了